/**
 * 组件加载器
 * 用于动态加载组件的预览和导出处理模块
 * 此文件保留是为了向后兼容，实际功能已整合到AutoComponentLoader
 */

import autoComponentLoader from './AutoComponentLoader';

/**
 * 加载组件预览处理模块
 * @param {string} componentType 组件类型
 * @returns {Promise<Object|null>} 组件预览处理模块或null
 */
export async function loadComponentPreview(componentType) {
  return await autoComponentLoader.loadComponentPreview(componentType);
}

/**
 * 加载组件导出处理模块
 * @param {string} componentType 组件类型
 * @returns {Promise<Object|null>} 组件导出处理模块或null
 */
export async function loadComponentExport(componentType) {
  return await autoComponentLoader.loadComponentExport(componentType);
}

/**
 * 加载组件配置模块
 * @param {string} componentType 组件类型
 * @returns {Promise<Object|null>} 组件配置模块或null
 */
export async function loadComponentConfig(componentType) {
  return await autoComponentLoader.loadComponentConfig(componentType);
}

/**
 * 检查组件是否支持预览
 * @param {string} componentType 组件类型
 * @returns {Promise<boolean>} 是否支持预览
 */
export async function supportsPreview(componentType) {
  return await autoComponentLoader.supportsPreview(componentType);
}

/**
 * 检查组件是否支持导出
 * @param {string} componentType 组件类型
 * @returns {Promise<boolean>} 是否支持导出
 */
export async function supportsExport(componentType) {
  return await autoComponentLoader.supportsExport(componentType);
}

/**
 * 解析组件路径
 * @param {string} componentType 组件类型
 * @returns {string|null} 组件路径或null
 */
export function resolveComponentPath(componentType) {
  return autoComponentLoader.resolveComponentPath(componentType);
}

/**
 * 刷新组件映射表
 * @returns {Promise<boolean>} 是否成功刷新
 */
export async function refreshComponentMapping() {
  return await autoComponentLoader.refreshComponentMapping();
}

export default {
  loadComponentPreview,
  loadComponentExport,
  loadComponentConfig,
  supportsPreview,
  supportsExport,
  resolveComponentPath,
  refreshComponentMapping
}; 